(******************************************************************************)
ОТДЕЛ Обменом;
(******************************************************************************
* НАЗНАЧЕНИЕ: упорядочивание ряда простым обменом ("пузырьковая сортировка")
******************************************************************************)
ЗАДАЧА Упорядочить-(ряд+:РЯД ИЗ ЦЕЛ);
(* Цель: упорядочивание ряда целых чисел простым обменом
* До: <ряд> - исходный ряд
* После: <ряд> - упорядоченный ряд *)
ПЕР
число:ЦЕЛ; (* обрабатываемое число *)
позНеуп:ЦЕЛ; (* до этой позиции ряд уже упорядочен *)
позОбмена:ЦЕЛ; (* позиция первого числа обмениваемой пары *)
УКАЗ
ОТ позНеуп:=0 ДО РАЗМЕР(ряд)-2 ВЫП
ОТ позОбмена:= РАЗМЕР(ряд)-2 ДО позНеуп ПО -1 ВЫП
ЕСЛИ ряд[позОбмена] < ряд[позОбмена+1] ТО
(* меняем эту пару чисел *)
число:=ряд[позОбмена];
ряд[позОбмена]:=ряд[позОбмена+1];
ряд[позОбмена+1]:=число
КОН
КОН
КОН
КОН Упорядочить;
КОН Обменом.
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|